import { defineStore } from "pinia";

/*defineStore 是需要传参数的，其中第一个参数是id，就是一个唯一的值，
简单点说就可以理解成是一个命名空间.
第二个参数就是一个对象，里面有三个模块需要处理，第一个是 state，
第二个是 getters，第三个是 actions。
*/
// import { Login } from "@/api/Login";
// 
export const useCounter = defineStore("user", {
  state: () => ({
    locale: "zh-CN",
    identity: 0,//登录真实身份
    counter: 88,
    name: "why",
    age: 18,
    level: 100,
    userInfo: {},
    isCollapse: false,

    // 用户信息
    username: "",
    nickname: "",
    avatar: "",
    identity: 0,
    id: 0,
    unit: "",
    registerEmail: "",
  }),
  getters: {
    doubleCounter(state) {
      return state.counter * 2;
    },
  },
  actions: {
    //菜单栏是否展开
    async toggleSidebar(isCollapse) {
      console.log('isCollapse', isCollapse);
      this.isCollapse = isCollapse;
    },
    addCounter() {
      this.counter++;
    },
    //语言切换
    changeLocale(locale) {
      this.locale = locale
    },
    // 登录保存用户信息
    setUserInfo(user = {}) {
      console.log('user', user);
      this.nickname = user.userManager.nickname
      // this.username = !user.username ? "" : user.username
      // this.nickname = !user.nickname ? "" : user.nickname
      this.identity = !user.identity ? "" : user.identity
      //新增了id
      this.id = !user.id ? '' : user.id
      this.unit = !user.unit ? "" : user.unit
      //新增了注册邮箱
      this.registerEmail = !user.registerEmail ? "" : user.registerEmail
    },


  },
  //开启数据存储
  persist: {
    enabled: true,
    // strategies: [
    //   {
    //     key: "all", //存储的key值，默认为store名，
    //     storage: localStorage, //存储的位置，默认为sessionStorage
    //     paths: ["info"], //需要存储的state状态，默认为所有
    //   },
    // ],
  },
});

